#ifndef _HEAD_
#define _HEAD_
#include <func.h>

typedef struct entry{
    int CMD; // 命令字段
    int fileLength; //文件长度，如果不是puts或者gets，为-1;
    int dataLength; //data数组长度
    char data[1024];//存储文件路径 如dir1/file
    char md5[32];
}ENTRY;

typedef struct train_s{
    int dataLength;
    char data[4096];
}train_t;

int recvn(int sockfd,void *buf,int length);

typedef enum commmand{
    CD,
    LS,
    PUTS,
    GETS,
    REMOVE,
    PWD,
    MKDIR,
    RMDIR,
    EXIT,
}CMD;

int enter(int sockfd);   //客户端登陆程序
int login(int sockfd);
int regis(int sockfd);

int Compute_file_md5(const char *file_path, char *md5_str);

int lsClient(int sockfd);

#endif
